package core

import (
	"encoding/json"
	"io"
	"os"
	"strings"
)

type JsonConfig struct {
	Me      string `json:"me"`      // 自己的身份
	Port    int    `json:"port"`    // 开放端口
	Channel string `json:"channel"` // 频道全大写
}

// 读取Json版本的配置文件
func ReadConfig_Json(jsonfile string) (*JsonConfig, error) {
	file, err := os.Open(jsonfile)
	if err != nil {
		return nil, err
	}
	defer file.Close()
	data, err := io.ReadAll(file)
	if err != nil {
		return nil, err
	}
	var jc JsonConfig
	err = json.Unmarshal(data, &jc)
	if err != nil {
		return nil, err
	}
	// 保证Channel都是大写
	jc.Channel = strings.ToUpper(jc.Channel)
	return &jc, nil
}
